<?php
/*
Funciones que construyen HTML

Solo deben ir funciones q construyen HTML, por lo tanto no deben haber en este archivo consultas a las BD!!! las funciones de combo se redefiniran

-> Nombramiento de las funciones

- todas las funciones deben empezar por html_ para saber que estan aqui y no en otra libreria
- luego de eso ira el nombre de la primera etiqueta html q se genera,[ td tr table ...]  entonoces quedaria html_tr
  a expecion de select q se llamara combo por entendimiento

- luego iran el contenido del html , pudiendo ser varios.
[toda va en minuscula y separado por _ ]
[opcional el contenido html puede tener la letra F , indicando Foraneo para otra tabla.]
[opcional el contenido html puede tener la letra A , indicando que solo se abre la etiqueta]
[opcional el contenido html puede tener la letra C , indicando que solo se cierra la etiqueta.]
[excepto funciones que realizen acciones, como html_table_formularioA ]
ejemplo:

html_tr_input_combo


-> Parametros de las funciones


*/

//// FUNCIONES BASE para construccion de HTML
function array2str($htmlarray, $forma)
{
  
  $str_html = "";
  if(is_array($htmlarray))
    foreach($htmlarray as $k => $v)
      if(is_null($v))
        continue;
      else
        $str_html .= ($forma == "html") ? ($k.'="'.$v.'" ') : (($forma == "css") ? ($k.': '.$v.'; ') : "");
      
  return $str_html;
}

function array2html($htmlarray)
{
  return array2str($htmlarray, "html");
}

function array2css($htmlarray)
{
  return array2str($htmlarray, "css");
}

function prefijo($prefijo,$tabla)
{
  if($prefijo=="")
  {
	 $prefijo=substr($tabla,0,3);
  }
  return $prefijo;
}



//// FUNCIONES ESTANDARIZADAS

function html_abrirFormulario($nombre, $html = array())
{  /*global $FORM;
    echo "<form id=\"form_$nombre\" name=\"form_$nombre\" >";
	 echo ' function autoGuardar(alert("prueba")if(accion==2){guardar();})
	 jQuery(document).ready(function(){ 
	 $("#formulario_'.$FORM.' input[disabled!=true]:not(.boton) , #formulario_Cliente select[disabled!=true]").change(autoGuardar());}';*/
	 html_table_formularioA($nombre, $html);
}
function html_cerrarFormulario()
{
  echo "</table>";
  echo "</form>";
}

function html_abrir_fieldset($legend)
{
  echo "<fieldset><legend><b>";
    if($legend);
      echo "$legend";
  echo "</b></legend>";
}

function html_cerrar_fieldset()
{
  echo "</fieldset>";
}

function html_table_formularioA($titulo, $html = array())
{  
  global $FORM;
  echo '<table class="tablaFormulario" id="formulario_'.$FORM.'" '.array2html($html).' >';
  if($titulo){
  echo '
  <tr style="height:20px;">
     <td valign="middle" align="left" colspan="50" class="listadoTitulo"> <b id="titulo_'.$FORM.'">'.tr("$titulo").'</b></td>';  
  echo '</tr>';  
  }
}

function html_table_formularioC()
{
  echo '</table>';
}


function html_table_img($src, $html_tabla=array(), $html_td=array(), $html_img=array())
{
  echo "<table ".array2html($html_tabla).">";
  html_tr_img($src, $html_td, $html_img);
  echo "</table>";
}

function html_tr_img($src, $htmltd, $html_img)
{
  echo "<tr>";
  html_td_img($src, $htmltd, $html_img);
  echo "</tr>";
}

function html_tr_fecha_span($columna1,$texto,$html_tdl1=array(),$html_td1=array(),$html_fecha1=array(),$html_td2=array(),$html_span2=array())
{
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_fecha($columna1,$html_td1,$html_fecha1);
  echo "<td ".array2html($html_td2).'>';
  echo "<span ".array2html($html_span2)." id = \"span_$columna1\">".tr($texto)."</span>";
  echo "</td>";
  echo '</tr>';
}


function html_tr_comboU_span($columna1,$texto,$tabla,$opcion1=-1,$columnaLlave1="",$seleccion1="",$html_tdl1=array(),$html_td1=array(),$html_td2=array())
{
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_comboU($columna1,$tabla,$opcion1,$columnaLlave1,$seleccion1, $html_td1);
  echo "<td ".array2html($html_td2).'>';
  echo "<span id = \"span_$columna1\">".tr($texto)."</span>";
  echo "</td>";
  echo '</tr>';
}

function html_tr_comboEditable($sql,$columna,$opcion,$prefijo="",$html_input=array(),$html_td=array(),$html_td1=array())
{
  echo '<tr id="tr'.$columna.'">';
  html_td_label($columna);  
  echo '<td id="ctrl_'.$columna.'"'.array2html($html_td).'>';
  echo '<select id="'.$columna.'_sel" style="witdh:70px;">';	
  html_option($sql,$opcion);
  echo '</select></td>';
  echo '</tr>';

  echo '<tr>';
  echo '<td id="'.$columna.'lb2" class="listadoPar"></td>';
  html_td_input($columna,$html_td1,$html_input);
  echo '</tr>';
}
 
function html_tr_tablaDerecha($phpCode,$htmltd1=array(), $htmltd2 = array())
{


  $cssDefault_td2 = array(
    "vertical-align" => "top"
 //   "width" => "100%",
  );

  $atributosDefault_td2= array(
  "rowspan" => "50",
  "style" => array2css($cssDefault_td2)
  );
  
  if(is_array($htmltd2))
    $htmltd2 =  $htmltd2 + $atributosDefault_td2;
  else
    $htmltd2 = $atributosDefault_td2;
  
  echo '<tr>';
  echo "<td ".array2html($htmltd1)."></td>";
  echo "<td ".array2html($htmltd2).">";
  
  if(function_exists($phpCode))
    $phpCode();
  elseif(is_string($phpCode))
      eval($phpCode);
  
    
  echo "</td>";
  echo "</tr>";
}

function html_tr_input_input_unlabel_input($columna1,$columna2,$columna3,$html_tdl1=array(),$html_td1 = array(), $html_input1 = array(), $html_td2 = array(),$html_input2 = array(),$html_tdl2=array(),$html_td3 = array(),$html_input3 = array())
{debug('html_tr_input_input_unlabel_input => function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_input($columna1,$html_td1,$html_input1);
  html_td_input($columna2,$html_td2,$html_input2);
  html_td_label($columna3,$html_tdl2);
  html_td_input($columna3,$html_td3,$html_input3);
  echo '</tr>';
}

function html_tr_input_input_unlabel_input_unlabel($columna1,$columna2,$columna3,$html_tdl1=array(),$html_td1 = array(), $html_input1 = array(), $html_td2 = array(),$html_input2 = array(),$html_td3 = array(),$html_input3 = array())
{debug('html_tr_input_input_unlabel_input_unlabel => function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_input($columna1,$html_td1,$html_input1);
  html_td_input($columna2,$html_td2,$html_input2);
  html_td_input($columna3,$html_td3,$html_input3);
  echo '</tr>';
}

function html_tr_combo_input_unlabel_input_unlabel($columna1,$arreglo,$ignoreKeys=false,$columna2,$columna3,$html_tdl=array(),$html_td = array(),$html_td1 = array(), $html_input1 = array(), $html_td2 = array(),$html_input2 = array())
{debug('html_tr_combo_input_unlabel_input_unlabel => function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl);
  html_td_combo($columna1,$arreglo,$ignoreKeys, $html_td);
  html_td_input($columna2,$html_td1,$html_input1);
  html_td_input($columna3,$html_td2,$html_input2);
  echo '</tr>';
}

function html_tr_combo_input_unlabel_input($columna1,$arreglo,$columna2,$columna3,$html_tdl1=array(),$html_td1 = array(), $html_input1 = array(), $html_td2 = array(),$html_input2 = array())
{debug('html_tr_combo_input_unlabel_input => function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_combo($columna1,$arreglo,$ignoreKeys, $htmltd);
  html_td_input($columna2,$html_td1,$html_input1);
  html_td_label($columna3,$html_tdl2);
  html_td_input($columna3,$html_td2,$html_input2);
  echo '</tr>';
}

function html_tr_combo_combo($columna1, $columna2, $arreglo1, $arreglo2, $htmltd1=array(), $htmltd2=array(), $ignorekeys1 = true, $ignorekeys2 = true)
{debug('html_tr_combo_combo => function html deprecated!');
  echo '<tr>';
  html_td_label($columna1);
  html_td_combo($columna1,$arreglo1,$ignorekeys1, $htmltd1);
  html_td_label($columna2);
  html_td_combo($columna2,$arreglo2,$ignorekeys2, $htmltd2);
  echo '</tr>';
}

function html_tr_comboU_comboU_unlabel($columna1, $columna2,$tabla1,$tabla2,$opcion1=-1,$columnaLlave1="",$seleccion1="",$opcion2=-1,$columnaLlave2="",$seleccion2="", $htmltd1=array(), $htmltd2=array())
{debug('function html deprecated!');
  echo '<tr>';
  html_td_label($columna1);
  html_td_comboU($columna1,$tabla1,$opcion1,$columnaLlave1,$seleccion1, $htmltd1);
  html_td_comboU($columna2,$tabla2,$opcion2,$columnaLlave2,$seleccion2, $htmltd2);
  echo '</tr>';
}

function html_tr_combo_combo_unlabel($columna1, $columna2, $arreglo1, $arreglo2, $html_td1=array(), $htmltd2=array(), $ignorekeys1 = true, $ignorekeys2 = true,$vacio1=false,$vacio2=false)
{debug('function html deprecated!');
  echo '<tr>';
  html_td_label($columna1);
  html_td_combo($columna1,$arreglo1,$ignorekeys1,$html_td1,$vacio1);
  html_td_combo($columna2,$arreglo2,$ignorekeys2, $htmltd2,$vacio2);
  echo '</tr>';
}

function html_tr_combo_label_input($columna, $columna2, $arreglo, $html_input = array(), $htmltd1 = array(), $htmltd2 = array(), $ignoreKeys = true)
{debug('function html deprecated!');
  echo '<tr>';
  html_td_label($columna);
  html_td_combo($columna,$arreglo,$ignoreKeys,$htmltd1);
  html_td_label($columna2);
  html_td_input($columna2, $htmltd2, $html_input);
  echo '</tr>';
}

function html_tr_input_input($columna1,$columna2,$html_tdl1=array(),$html_td1 = array(), $html_input1 = array(),$html_tdl2=array(), $html_td2 = array(),$html_input2 = array())
{debug('function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_input($columna1,$html_td1,$html_input1);
  html_td_label($columna2,$html_tdl2);
  html_td_input($columna2,$html_td2,$html_input2);
  echo '</tr>';
}

function html_tr_combo_input($columna, $columna2, $arreglo, $html_input = array(), $htmltd1 = array(), $htmltd2 = array(), $ignoreKeys = true)
{debug('function html deprecated!');
  echo '<tr>';
  html_td_label($columna);
  html_td_combo($columna,$arreglo,$ignoreKeys, $htmltd1);
  html_td_input($columna2, $htmltd2, $html_input);
  echo '</tr>';
}



function html_tr_input_input_unlabel($columna1,$columna2,$html_tdl1=array(),$html_td1 = array(), $html_input1 = array(), $html_td2 = array(),$html_input2 = array())
{debug('html_tr_input_input_unlabel function html deprecated!');
  echo '<tr>';
  html_td_label($columna1,$html_tdl1);
  html_td_input($columna1,$html_td1,$html_input1);
  html_td_input($columna2,$html_td2,$html_input2);
  echo '</tr>';
}

function html_tr_combo($columna,$arreglo,$ignoreKeys = true,$htmltd = array(),$vacio=false,$html_combo=array(),$html_td_label=array())
{
  echo '<tr>';
  html_td_label($columna,$html_td_label);
  html_td_combo($columna,$arreglo,$ignoreKeys, $htmltd,$vacio,$html_combo);
  echo '</tr>';
}

function html_tr_comboF($columna, $tablaF,$null=false, $htmltd1 = array(), $htmltd2 = array(), $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "", $html_select=array())
{
  echo '<tr>';
  html_td_label($columna, $htmltd1);
  html_td_comboF( $columna, $tablaF, $null, $htmltd2  , $columnaFId , $columnaFNombre , $prefijoF, $html_select);
  echo '</tr>';
}

function html_tr_input($columna,$htmltd = array(),$htmlinput = array())
{
  echo '<tr>';
  html_td_label($columna);
  html_td_input($columna,$htmltd,$htmlinput);
  echo '</tr>';
}


function html_tr_textarea($columna,$htmltd = array(),$html_textarea = array())
{
  echo '<tr>';
  html_td_label($columna);
  html_td_textarea($columna,$htmltd,$html_textarea);
  echo '</tr>';
}

function html_tr_inputradio($columna,$arreglo,$opcion, $radioDerecha = false,$unTr = false)
{
  if($unTr)
  {
	 echo '<tr>';
  }
  foreach($arreglo as $k => $v)
  {
    if(!$unTr)
	 {
		echo '<tr>';
	 }
	 echo '<td colspan="2">';
    
    if($radioDerecha)
	 {
        echo '<span';
		  //if($k==$opcion) echo ' style="color:#900;"';
		  echo '>'.$v."&nbsp;&nbsp;</span>";
	 }
    echo '<input class="radio"';
	
    if($k==$opcion)
      echo 'checked="checked"';
    
    echo 'type="radio" value="'.$k.'" name="'.$columna.'"/>';
    if(!$radioDerecha)
	 {
      echo '<span';
		//if($k==$opcion) echo ' style="color:#900;"';
		echo '>'.$v.'</span>';
	 }
    echo '</td>';
	 if(!$unTr)
	 {
		echo '<!tr>';
	 }
  }
  if($unTr)
  {
	 echo '</tr>';
  }
}

function html_tr_inputcheckbox($columna, $htmltd1=array(), $htmltd2=array(), $html_check=array())
{
   echo '<tr>';
   html_td_label($columna, $htmltd1);
   html_td_checkbox($columna, $htmltd2, $html_check);
   echo '</tr>';
}

function html_tr_comboFGeneral($columna, $tablaF,$null=false, $htmltd1 = array(), $htmltd2 = array(), $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "")
{
  echo '<tr>';
  html_td_label($columna, $htmltd1);
  html_td_comboFGeneral( $columna, $tablaF, $null, $htmltd2, $columnaFId , $columnaFNombre , $prefijoF );
  echo '</tr>';
}

function html_td_comboFGeneral($columna, $tablaF , $null = false, $htmltd1 = array(), $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "" )
{
  global $TD;
  echo "<td ".array2html($htmltd1).'  colspan="'.($TD-1).'">';
  html_comboFGeneral($columna, $tablaF, $null, $columnaFId , $columnaFNombre , $prefijoF );
  echo "</td>";
}

function html_tr_comboFGeneralKey($columna, $tablaF,$null=false, $htmltd1 = array(), $htmltd2 = array(), $columna2="id", $valcol2=0, $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "")
{
  echo '<tr>';
  html_td_label($columna, $htmltd1);
  html_td_comboFGeneralKey( $columna, $tablaF, $null, $htmltd2, $columna2, $valcol2, $columnaFId , $columnaFNombre , $prefijoF );
  echo '</tr>'; 
}

function html_td_comboFGeneralKey($columna, $tablaF , $null = false, $htmltd1 = array(), $columna2="id", $valcol2=0, $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "" )
{
  global $TD;
  echo "<td ".array2html($htmltd1).'  >';
  html_comboFGeneralKey($columna, $tablaF, $null, $columna2, $valcol2, $columnaFId , $columnaFNombre , $prefijoF );
  echo "</td>";
}
function html_td_checkbox($columna, $html_td = array(),$html_check = array())
{ 
  echo "<td ".array2html($html_td).'>';
  html_checkbox($columna, $html_check);
  echo "</td>";
}

function html_checkbox($columna, $html_check=array())
{
  global $DB;
  if(is_array($html_check))
    $html_check["type"] = "checkbox";
  else
    $html_check = array("type" => "checkbox");
  
  
  if(is_array($DB))
    $value = isset($DB[$columna]) ?  $DB[$columna] : "0";
  else
    $value = "0";
  
  $html_check["value"] = $value;
  if($value != "0" && $value != 'f')
    $html_check["checked"] = "true";
  
  html_input($columna, $html_check);
}


function html_tr_label($columna, $htmltd = array(),$html_label = array())
{
  echo '<tr>';
  html_td_label($columna, $htmltd,$html_label);
  echo '</tr>';
}

function html_td_combo($columna,$arreglo,$ignoreKeys = true,$htmltd = array(),$vacio=false, $html_combo=array())
{
  echo "<td ".array2html($htmltd).'>';
  html_combo($columna, $arreglo, $ignoreKeys, $html_combo, $vacio);
  echo "</td>";
}

function html_td_comboF( $columna, $tablaF , $null = false, $htmltd = array(), $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "", $html_select=array())
{
  echo "<td ".array2html($htmltd).'>';
  html_comboF($columna, $tablaF, $null, $columnaFId , $columnaFNombre , $prefijoF, $html_select);
  echo "</td>";
}

function html_td_comboU( $columna,$tabla,$opcion=-1,$columnaLlave="",$seleccion="" , $htmltd = array())
{
  echo "<td ".array2html($htmltd).'>';
  html_comboU($columna,$tabla,$opcion,$columnaLlave,$seleccion);  
  echo "</td>";
}

function html_td_img($src, $htmltd, $html_img)
{
  echo "<td ".array2html($htmltd).'>';
  html_img($src, $html_img);
  echo "</td>";
}

function html_tr_fecha($columna, $htmltd1=array(), $htmltd2=array(), $html_fecha=array())
{
  html_td_label($columna, $htmltd1);
  html_td_fecha($columna, $htmltd2, $html_fecha);
}

function html_td_fecha($columna,$html_td=array(),$html_fecha=array())
{
  echo "<td ".array2html($html_td).'>';
  html_fecha($columna,$html_fecha);
  echo "</td>";
}

function html_td_span($texto, $html_td = array(),$id="",$htmlspan=array())
{
  echo "<td ".array2html($html_td).'>';
  html_span($texto,$id,$htmlspan);
  echo "</td>";
}


function html_td_label($columna, $html_td = array(), $html_label = array())
{
  echo '<td class="listadoPar" '.array2html($html_td).'>';
  html_label($columna, $html_label);
  echo '</td>';
}

function html_td_input($columna, $html_td = array(),$html_input = array())
{ 
  echo "<td ".array2html($html_td).'>';
  html_input($columna, $html_input);
  echo "</td>";
}

function html_td_textarea($columna, $html_td = array(),$html_textarea = array())
{ 
  echo "<td ".array2html($html_td).'>';
  html_textarea($columna, $html_textarea);
  echo "</td>";
}

function html_img($src, $html)
{
  echo '<img '.array2html($html).'src="'.$src.'">';
}

function html_span($texto,$id='',$htmlspan=array())
{
  echo '<span id="'.$id.'" '.array2html($htmlspan).'>'.tr($texto).'</span>';
}

function html_fecha($columna,$html = array())
{  
  global $DB;
  
  if(is_array($DB))
    $value = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $value = "";
   
  $atributosDefault = array(
  "id" => $columna,
  "type" => "text",
 // "size" => 20,
  "maxlength" => 100,
  "height" => 10,
  "value" => $value,
  );
  
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;
  
  echo "<input ".array2html($html)." />";
 /* echo '<script type="text/javascript"> $(document).ready(function(){ $("#'.$columna.'").datepicker(); $("#'.$columna.'").datepicker("option", {dateFormat: "yy-mm-dd"});})';
  echo '</script>';*/
}

function html_combo($columna, $arreglo, $ignoreKeys = true,$html=array(), $vacio=false)
{
  global $DB;
  if(is_array($DB))
    $value = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $value = "";
    
  $atributosDefault = array(
  "id" => $columna
  );
  
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;

  echo '<select ' .array2html($html).' class="selectFormulario">';
  if($vacio)
	 echo '<option value="0"></option>';
     
     
  foreach($arreglo as $k => $v)
  {
    if(is_int($k) && $ignoreKeys)
      $llave = $v;
    else
      $llave = $k;
    
    if($value == $llave)
      echo "<option value ='$llave' selected='selected'>".tr($v)."</option>";
    else
      echo "<option value='$llave'>".tr($v)."</option>"; 
  }
  echo "</select>";
}


/**
Combo que carga sus datos segun la llave foránea
@param tabla Tabla donde se guarda el dato.
@param columna Columna de la tabla donde se guarda el dato.
@param tablaF Tabla a donde apunta la llave foranea, tabla donde estan las opciones del combo.
@param columnaFId columna a donde apunta la llave foránea, generalmente la clave primaria de la tablaF.
@param columnaNombre columna donde están los textos a mostrar en el combo.
@param prefijo Prefijo de la tablaF, usar si el prefijo de la tabla es diferente del estandar (3 primeras letras del nombre de la tabla)

*/
function html_comboF($columna, $tablaF, $null = false, $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "", $html_select=array())
{
  global $DB; //debug($tablaF,"tablaF");
  $prefijo = prefijo($prefijoF, $tablaF);
  if(is_array($DB))
    $valueF = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $valueF = "";
    
  $columnas = array();
  if(is_array($columnaFNombre))
  {
    foreach($columnaFNombre as $v)
    {   
      $columnas[] .= $prefijo."_".$v;
    }
    $columnas = implode(", ", $columnas);
  }
  else
  {
    $columnas = $prefijo."_".$columnaFNombre;
  }
  
  $prefijoF = prefijo($prefijoF,$tablaF);
  echo "<select id='$columna' " .array2html($html_select)." class='selectFormulario'>";
  $sql = "SELECT ".$prefijoF."_$columnaFId, $columnas FROM $tablaF WHERE ".$prefijoF."_cli_id = ".$_SESSION['idCliente']." ORDER BY ".$columnas." ASC";
  $rs = consultaBD($sql);
  $cantidadColumnas = num_fields($rs);
  if($null)
  {
	 echo '<option value=""> </option>';
  }
  while($arreglo = filaEnArreglo($rs))
  {
    $value = $arreglo[0];
    $texto = "";
    for($i = 1; $i < $cantidadColumnas; $i++)
    {
      $texto .= $arreglo[$i]." ";
    }
    
    if($valueF == $value)
      echo "<option value='$value' selected='selected'>".tr($texto)."</option>";
    else
      echo "<option value='$value'>".tr($texto)."</option>"; 
  }
  echo "</select>";
  //echo "</td>";
}

function html_comboU($columna,$tabla,$opcion=-1,$columnaLlave="",$seleccion="")
{
  global $DB;
  if(is_array($DB))
    $valueF = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $valueF = "";    
  
  echo "<select id='$columna' class='selectFormulario'>";
  cargarMenuUbicacion($tabla,$opcion,$columnaLlave,$seleccion);  
  echo "</select>";
  //echo "</td>";
}


/**
Combo que carga sus datos segun la llave foránea
@param tabla Tabla donde se guarda el dato.
@param columna Columna de la tabla donde se guarda el dato.
@param tablaF Tabla a donde apunta la llave foranea, tabla donde estan las opciones del combo.
@param columnaFId columna a donde apunta la llave foránea, generalmente la clave primaria de la tablaF.
@param columnaNombre columna donde están los textos a mostrar en el combo.
@param prefijo Prefijo de la tablaF, usar si el prefijo de la tabla es diferente del estandar (3 primeras letras del nombre de la tabla)

*/
function html_comboFGeneral($columna, $tablaF, $null = false, $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "", $html_select=array())
{
   global $DB;
    if($prefijoF=="")
    {
      $prefijoF=substr($tablaF,0,3);
    }

  echo "<select id='$columna'" .array2html($html_select)." class='selectFormulario'>";
  $sql = "SELECT ".$prefijoF."_$columnaFId, ".$prefijoF."_$columnaFNombre FROM $tablaF ORDER BY ".$prefijoF."_$columnaFNombre ASC";
  $rs = consultaBD($sql);
  
  while($arreglo = filaEnArreglo($rs))
  {
    $value = $arreglo[0];
    $texto = $arreglo[1];
    if($DB[$columna] == $value)
      echo "<option value='$value' selected='selected'>".tr($texto)."</option>";
    else
      echo "<option value='$value'>".tr($texto)."</option>"; 
  }
  echo "</select>";
  echo "</td>";
}

/**
Combo que carga sus datos segun la llave foránea
@param tabla Tabla donde se guarda el dato.
@param columna Columna de la tabla donde se guarda el dato.
@param tablaF Tabla a donde apunta la llave foranea, tabla donde estan las opciones del combo.
@param columna2 es la columna que se va a usar para delimitar la consulta den la tabla $tablaF.
@param valcol2 es el valor de columna2 
@param columnaFId columna a donde apunta la llave foránea, generalmente la clave primaria de la tablaF.
@param columnaNombre columna donde están los textos a mostrar en el combo.

@param prefijo Prefijo de la tablaF, usar si el prefijo de la tabla es diferente del estandar (3 primeras letras del nombre de la tabla)

*/
function html_comboFGeneralKey($columna, $tablaF, $null = false,$columna2="", $valcol2=0, $columnaFId = "id", $columnaFNombre = "nombre", $prefijoF = "", $opcion=1, $html_select=array())
{
   global $DB;
    if($prefijoF=="")
    {
      $prefijoF=substr($tablaF,0,3);
    }
  if(is_string($valcol2))
    $valcol2 = "'$valcol2'";
    
  if(!empty($columna2)){
    if($opcion==1)
      $where1 = "WHERE $columna2=$valcol2";
    else
      $where1 = "WHERE $columna2<>$valcol2"; 
  }else
    $where1 = ""; 

  echo "<select id='$columna' class='selectFormulario'" .array2html($html_select).">";
  $sql = "SELECT ".$prefijoF."_$columnaFId, ".$prefijoF."_$columnaFNombre FROM $tablaF $where1 ORDER BY ".$prefijoF."_$columnaFNombre ASC";
  $rs = consultaBD($sql, 0);

   if($null)
   {
     echo "<option value='0'> </option>";
   }  

  while($arreglo = filaEnArreglo($rs))
  {
    $value = $arreglo[0];
    $texto = $arreglo[1];
    if($DB[$columna] == $value)
      echo "<option value='$value' selected='selected'>".tr($texto)."</option>";
    else
      echo "<option value='$value'>".tr($texto)."</option>"; 
  }
  echo "</select>";
  echo "</td>";
}

function html_input($columna,$html = array())
{ /// numeric = 0 sin restrinccion, numeric = 1 , numeros enteros , numeric = 2 decimales
  global $DB;
  
  if(is_array($DB))
    $value = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $value = "";
   
  $atributosDefault = array(
  "id" => $columna,
  "type" => "text",
 // "size" => 20,
  "maxlength" => 100,
 // "height" => 10,
  "value" => $value,
  );
  
  $class = "";
  if(isset($html["numeric"]))
  {
	unset($html["numeric"]);
	 $atributosDefault["onkeypress"]="return acceptnum(event)";
     $class = "class=\"numeric\"";
  }

  if(isset($html["decimal"]))
  {
    unset($html["decimal"]);
    $atributosDefault["onkeypress"]="return acceptdec(event)"; 	
    $class = "class=\"decimal\"";
  }
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;
  
  echo "<input ".array2html($html)." $class/>";
}

function html_textarea($columna,$html = array())
{  
  global $DB;
  
  if(is_array($DB))
    $value = isset($DB[$columna]) ?  $DB[$columna] : "";
  else
    $value = "";
   
  $atributosDefault = array(
  "id" => $columna
  );
  
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;
  
  echo "<textarea ".array2html($html)." >$value</textarea>";
}

function html_label($columna, $html = array())
{
  $atributosDefault = array(
  "id" => 'lb_'.$columna,
  'for' => $columna
  );
  
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;

  echo "<label ".array2html($html).">".tr($columna)."</label>";
}

function html_option($sql,$opcion=null,$debug=false)
{
  if(!is_array($sql))
  { // No se deben hacer consultar en html_* , se mantiene por compatiblidad
    $rs = consultaBD($sql,$debug);
    while ($resultado= filaEnArreglo( $rs))
    {
      $k=$resultado[0];
      $v=$resultado[1];
      echo '<option ';
      if($k == $opcion)
      {
        echo 'selected="selected"';
      }
      echo 'value="'.$k.'" >'.$v.'</option>';
    }
  }
  else
  {
    foreach($sql as $k => $v)
    {
      echo '<option ';
      if($k == $opcion)
      {
        echo 'selected="true"';
      }
      echo 'value="'.$k.'" >'.$v.'</option>';
    }
  }
}
function html_option_nombres($tabla,$sql,$verNombre,$debug=0)
{ 
  
  $prefijo = prefijo('',$tabla);
  $rs = consultaBD($sql,$debug);
  $html = '';
  while($row = filaEnArreglo($rs))
  {
	 if($verNombre)
		$nombre = $row[$prefijo.'_nombre1'].' '.$row[$prefijo.'_nombre2'].' '.$row[$prefijo.'_apellido1'].' '.$row[$prefijo.'_apellido2'];
	 else
		$nombre = $row[$prefijo.'_apellido1'].' '.$row[$prefijo.'_apellido2'].' '.$row[$prefijo.'_nombre1'].' '.$row[$prefijo.'_nombre2'];
	 $html .= '<option value="'.$row[$prefijo.'_id'].'">'.$nombre.'</option>';
  }
  echo $html;
}
function html_table_botones($crear = true,$html_tabla=array())
{
  if(isset($html_tabla['style']))
  {
	 $html_tabla['style'] = 'width:100%;'.$html_tabla['style'];
  }
  else
  {
	 $html_tabla['style'] = 'width:100%;';
  }
  echo '<table border="0" class="tablaFormulario" '.array2html($html_tabla).' >';
  html_botones($crear);
  echo "</table>";
}
function html_botones_array($arregloDeBotones=array())
{
  global $FORM;$i=0;
  foreach($arregloDeBotones as $id =>$boton)
  {
	 $i++;
	 if(intval($id) == 0 && $id !='0')
	 {
      echo '<input type="button" id="'.$id.'" class="boton botonFormulario" ';
		if(count($arregloDeBotones)==$i)
			 echo 'style="margin-right:0px;"';
		echo 'value="'.tr("".$boton).'" onclick="'.strtolower($boton).'(\''.$FORM.'\')" />';
	 }
    else
	 {
      echo '<input type="button" id="'.$FORM.$boton.'" class="boton botonFormulario"';
		  if(count($arregloDeBotones)==$i)
			 echo 'style="margin-right:0px;"';
		echo 'value="'.tr("".$boton).'" onclick="'.strtolower($boton).'(\''.$FORM.'\')" />';
	 }
	 
  }
}
function html_tr_botones($crear = true, $guardar = true, $imprimir= false, $borrar=false)
{
  html_botones($crear, $guardar, $imprimir, $borrar);
}

function html_botones($crear = true, $guardar = true, $imprimir= false, $borrar=false)
{
  global $FORM; 
	 echo '<tr>   
	 <td colspan="2"><div id="status_'.$FORM.'" class="status"></div></td>
	 <td colspan="48" style="text-align: right;white-space:nowrap">'; 

  if(is_array($crear))
  {
	 html_botones_array($crear);
  }
  else
  {
	 
  if($guardar)
		echo '<input type="button" id="botonGuardar" class="boton botonFormulario" value="'.tr("Guardar").'" onclick="guardar(\''.$FORM.'\')" />';

	 if($crear)
		echo '<input type="button" id="botonCrear" class="boton botonFormulario" value="'.tr("Crear").'" onclick="crear(\''.$FORM.'\')" />';
		
	 
    
	 if($imprimir)
		echo '<input type="button" id="botonImprimir" class="boton botonFormulario" value="'.tr("Imprimir").'" onclick="imprimir(\''.$FORM.'\')" />';
    
   if($borrar)
    echo '<input type="button" id="botonBorrar" class="boton botonFormulario" value="'.tr("Borrar").'" onclick="borrar(\''.$FORM.'\')" />';
    
    
	 echo '<input type="button" id="botonSalir" class="boton botonFormulario" value="'.tr("Salir").'" onclick="salir()" />';
	 
  }
	 echo '</td></tr>';
}

function html_botones_extra($name="Aceptar", $salir=true)
{
  global $FORM;
  echo '<tr>   
  <td colspan="2"><div id="status_'.$FORM.'" class="status"></div></td>
  <td colspan="48" style="text-align: right;">
  <input type="button" id="boton'.$name.'" class="boton botonFormulario" value="'.tr("$name").'" onclick="aceptar(\''.$FORM.'\')" />';
   if($salir)
     echo '<input type="button" id="botonSalir" class="boton botonFormulario" value="'.tr("Salir").'" onclick="salir()" />
  </td>
  </tr>';
}

function html_td_boton($name="Aceptar", $htmltd=array())
{
  global $FORM;
  echo "<td ".array2html($htmltd).">";
  html_boton($name);

  echo '</td>';
}

function html_boton($name = 'Aceptar', $html = null)
{
  global $FORM;
  
   $atributosDefault = array(
    "id" => $name,
    "type" => "button",
    "maxlength" => 100,
    "value" => tr($name),
    'onclick' => $name.'(\''.$FORM.'\')',
    'class' => 'boton botonFormulario'
  );
  if(is_array($html))
    $html = $html + $atributosDefault;
  else
    $html = $atributosDefault;
  
  
  html_input($name, $html);
//   if($name)
//      echo '<input type="button" id="'.$name.'" class="boton botonFormulario" value="'.tr($name).'" onclick="'.$name.'(\''.$FORM.'\')" />';
}

function html_tr_tablaJquery($pager=false,$htmltr=array(),$html_td = array('colspan'=>'4'))
{
  echo "<tr ".array2html($htmltr).">";
  html_td_tablaJquery($pager,$html_td);
  echo '</tr>';
}

function html_td_tablaJquery($pager=false,$html_td = array('colspan'=>'4'))
{
  echo "<td ".array2html($html_td).">";
  html_tablaJquery($pager);
  echo '</td>';
}

function html_tablaJquery($pager=false)
{
  global $FORM; 
 // echo "<table><tr><td>";
  echo '<table id="tablaJquery_'.$FORM.'" class="scroll"></table>';
  if($pager)
  {
	 echo '<div id="pager" class="scroll" style="text-align:center;"></div>'; 
  }
 // echo "</td></tr></table>";
}

/// $html_tabla = array("style" => "border: solid 1px")
function html_table_inputradio($columna,$arreglo,$opcion,$phpCode = "", $html_tabla = array(), $radioDerecha = false,$htmlSubtitulo=array(),$unTr=false)
{
  $textoSub = tr($columna);
  if(empty($textoSub))
    $subtitulo = "";
  else
    $subtitulo = '<tr><td class="subtitulo" colspan="3" rowspan="1" '.array2html($htmlSubtitulo).'>'.tr($columna).'</td></tr>';

  echo '<table id="'.$columna.'" '.array2html($html_tabla).'>';
  echo $subtitulo;
    html_tr_inputradio($columna,$arreglo,$opcion, $radioDerecha,$unTr);
	 eval($phpCode);
	 echo '</table>';

}

function html_table_inputcheckbox($arreglo,$phpCode = "", $html_tabla = array("style" => "border: solid 1px"), $radioDerecha = false)
{

  echo '<table '.array2html($html_tabla).'>';
		
foreach($arreglo as $k => $v)
  {
    echo '<tr><td colspan="2">';
    
    if($radioDerecha)
        echo $v."&nbsp;&nbsp;";
	
    echo '<input class="radio"';
	   
    
    echo 'type="checkbox" value="'.$k.'" id="'.$k.'" name="'.$k.'"/>';
    if(!$radioDerecha)
      echo $v;
    echo '</td></tr>';
  }

	 eval($phpCode);
	 echo '</table>';

}